/**
 * Copyright 2011 Joe Choi, All rights reserved.
 */
package tao.calendar.gregorian;

import tao.calendar.gregorian.GregorianDate.Era;

/**
 * The ConcreteModifiableDateTime class is the concrete implementation of 
 * ModifiableDateTime interface
 * 
 * @author Joe Choi
 * @version 1.0.0
 */
class ConcreteModifiableDateTime extends ConcreteGregorianDateTime implements ModifiableDateTime {
	public ConcreteModifiableDateTime(GregorianDateTime dt) {
		super(dt);
	}

	@Override
	public ModifiableDateTime setEra(Era era) {
		setInternalEra(era);
		return(this);
	}

	@Override
	public ModifiableDateTime setYear(int year) {
		setInternalYear(year);
		return(this);
	}

	@Override
	public ModifiableDateTime setMonth(int month) {
		setInternalMonth(month);
		return(this);
	}
	
	@Override
	public ModifiableDateTime setDay(int day) {
		setInternalDay(day);
		return(this);
	}

	@Override
	public ModifiableDateTime setHour(int hour) {
		setInternalHour(hour);
		return(this);
	}

	@Override
	public ModifiableDateTime setMinute(int minute) {
		setInternalMinute(minute);
		return(this);
	}

	@Override
	public ModifiableDateTime setSecond(int second) {
		setInternalSecond(second);
		return(this);
	}

	@Override
	public ModifiableDateTime setMillisecond(int millisecond) {
		setInternalMillisecond(millisecond);
		return(this);
	}	
}